//
//  BuyChatShopApi.swift
//  jhf
//
//  Created by Mac on 2021/11/08 10:40:46.
//  Copyright © 2021 jhf. All rights reserved.
//
import Foundation
import UIKit
import Moya
import CryptoSwift
import SwiftyJSON
import CooperSwift

// LogPlugin(),
// SpinnerPlugin()
// EncryptPlugin()
// RequestAlertPlugin

let BuyChatShopApiProvider = MoyaProvider<BuyChatShopApi>(plugins: [SpinnerPlugin(), EncryptPlugin(), LogPlugin()])

   
public enum BuyChatShopApi {
     // 售后列表查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. state 售后状态 1-售后中 2-已完成 integer
     case afterGetall(Int?, Int?, Int?)

     // 售后列表查询
     /// 1. afterId 售后单id integer
     /// 2. orderId 订单id integer
     case afterGetbyid(Int?, Int?)

     // 选择退款原因查询
     case afterGetreasonselect

     // 申请平台介入
     case afterPlatform

     // 撤销退货
     case afterReturngoods

     // 撤销申请
     case afterReturnrefund

     // 申请售后
     case afterSubmit

     // 支付宝小程序授权登录
     case appAlipaylogin

     // 查询是否申请
     /// 1. code 验证码 string
     /// 2. shopPhone 手机号 string
     case appCheck(String?, String?)

     // 删除搜索记录
     case appDeletesearch

     // 获取短信验证码
     /// 1. phone 电话 string
     case appGetcode(String?)

     // 历史搜索查询
     case appGethistory

     // 商品搜索查询
     /// 1. maxMoney 最大价格 number
     /// 2. minMoney 最小价格 number
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索内容 string
     /// 6. searchId 搜索id integer
     /// 7. type 价格排序条件 1-升序 2-降序 integer
     /// 8. volume 销量排序条件 1-升序 2-降序 integer
     case appGetsearchproducts(Dictionary<String, Any>)

     // 字典下拉数据查询
     /// 1. dictName 字典名称 string
     case appGetselect(String?)

     // 获取微信加密秘钥
     case appGetsessionkey

     // 首页数据查询
     /// 1. activityId 活动id integer
     case appIndex(Int?)

     // 手机号验证码登录
     case appLogin

     // 刷新用户Token
     case appRefreshtoken

     // 用户注册
     case appRegister

     // 查询热搜词
     case appSelecthotsearch

     // 获取微信手机号绑定
     case appSetwxphone

     // 初始化商品库存
     case appStock

     // 支付宝小程序验证手机号
     case appUpdatealiphone

     // 手机号合并微信openid绑定
     case appUpdatewxphone

     // APP微信授权登录
     case appWxapplogin

     // 微信授权登录
     case appWxlogin

     // 删除银行卡
     case bankDelete

     // 银行卡管理查询
     /// 1. bankId 银行卡id integer
     /// 2. buyerUserId 客户id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     case bankGetall(Dictionary<String, Any>)

     // 修改银行卡查询
     /// 1. bankId 银行卡id integer
     /// 2. buyerUserId 客户id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     case bankGetbyid(Dictionary<String, Any>)

     // 选择银行卡查询
     case bankGetselect

     // 添加银行卡
     case bankSave

     // 修改银行卡
     case bankUpdate

     // 读取画布数据
     /// 1. canvasId 画布id integer
     /// 2. createTime 创建时间 string
     /// 3. customId 自定义页面id integer
     /// 4. json 画布json数据 string
     /// 5. name 页面名称 string
     /// 6. shopId 店铺id integer
     /// 7. terminal 终端 1-小程序 2-H5 3-APP 4-PC integer
     /// 8. type 类型 1-系统相关页面 2-自定义页面 3-店铺装修 integer
     /// 9. updateTime 更新时间 string
     case canvasGetcanvas(Dictionary<String, Any>)

     // 查询分类层级
     case canvasGetclassify

     // 查询所有平台优惠券
     /// 1. buyerUserId null integer
     /// 2. ids 优惠券id数组 array
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索字段 string
     /// 6. shopId 店铺id integer
     case canvasGetcoupons(Dictionary<String, Any>)

     // 选择拼团活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     /// 3. stateList 状态列表 array
     case canvasGetgroupworks(Array<Int>?, Int?, Array<Int>?)

     // 查询会员商品数据
     /// 1. classifyId 分类id integer
     /// 2. memberLevelId null integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索字段 string
     /// 6. shopId 店铺id integer
     /// 7. type 价格排序条件 1-升序 2-降序 integer
     /// 8. volume 销量排序条件 1-升序 2-降序 integer
     case canvasGetmemberproducts(Dictionary<String, Any>)

     // 选择平台端限时折扣活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     /// 3. stateList 状态列表 array
     case canvasGetmindiscount(Array<Int>?, Int?, Array<Int>?)

     // 获取公告数据
     case canvasGetnotices

     // 选择平台端秒杀活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     /// 3. stateList 状态列表 array
     case canvasGetplatformseckills(Array<Int>?, Int?, Array<Int>?)

     // 画布选择定价捆绑活动数据
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     /// 3. stateList 状态列表 array
     case canvasGetprices(Array<Int>?, Int?, Array<Int>?)

     // 商家编辑查询
     /// 1. classifyId 分类id integer
     /// 2. ids 商品id数组 array
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索字段 string
     /// 6. shelveState 是否上架 1-上架 0-不上架 string
     /// 7. shopId 店铺id integer
     /// 8. type 活动类型 1-拼团活动 2-秒杀活动 3-限时折扣活动 integer
     case canvasGetproducts(Dictionary<String, Any>)

     // 查询所有店铺优惠券
     /// 1. buyerUserId null integer
     /// 2. ids 优惠券id数组 array
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索字段 string
     /// 6. shopId 店铺id integer
     case canvasGetshopcoupons(Dictionary<String, Any>)

     // 批量加入购物车
     case cartAddbatchcart

     // 加入购物车
     case cartAddcart

     // 再次购买
     case cartBuyagain

     // 清空失效购物车商品
     case cartClearinvalidsku

     // 删除购物车商品
     case cartDelete

     // 清空购物车
     case cartDeleteall

     // 购物车查询
     case cartGetcart

     // 选中商品
     case cartSelected

     // 修改购物车商品数量
     case cartUpdatenumber

     // 更换规格
     case cartUpdatesku

     // 入驻申请（企业）
     case checkEnterprisecheck

     // 店铺信息查询
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case checkGetbyid(Dictionary<String, Any>)

     // 入驻申请（个体工商户）
     case checkIndividualcheck

     // 入驻申请（其他组织）
     case checkOrganizationscheck

     // 入驻申请（个人）
     case checkPersonalcheck

     // 修改入驻申请（企业）
     case checkUpdateenterprisecheck

     // 修改入驻申请（个体工商户）
     case checkUpdateindividualcheck

     // 修改入驻申请（其他组织）
     case checkUpdateorganizationscheck

     // 修改入驻申请（个人）
     case checkUpdatepersonalcheck

     // 商品搜索查询
     /// 1. buyerUserId null integer
     /// 2. classifyId 分类id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. productName 商品名称 string
     /// 6. type 价格排序条件 1-升序 2-降序 integer
     /// 7. volume 销量排序条件 1-升序 2-降序 integer
     case classifyGetclaasifyproducts(Dictionary<String, Any>)

     // 查询店铺分类
     /// 1. classifyId 分类父节点id(查一级类目时不传值) integer
     case classifyGetfirstclassify(Int?)

     // 取消收藏
     case collectCancel

     // 收藏商品、店铺
     case collectCollect

     // 删除
     case collectDelete

     // 收藏商品查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. search 搜索字段 string
     case collectGetallproduct(Int?, Int?, String?)

     // 收藏店铺查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. search 搜索字段 string
     case collectGetallshop(Int?, Int?, String?)

     // 选中收藏商品、店铺
     case collectSelected

     // 我的评价列表查询
     /// 1. buyerUserId 客户id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 关键字搜索 string
     /// 5. state 是否有图 1-是 0-全部 string
     /// 6. type 评价类型 1-待评价 2-待追评 3-已评价 integer
     case commentGetall(Dictionary<String, Any>)

     // 评论详情查询
     /// 1. commentId 评论id integer
     case commentGetbyid(Int?)

     // 我的评价列表查询
     /// 1. buyerUserId 客户id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 关键字搜索 string
     /// 5. state 是否有图 1-是 0-全部 string
     /// 6. type 评价类型 1-待评价 2-待追评 3-已评价 integer
     case commentGetcommentlist(Dictionary<String, Any>)

     // 商品评价列表查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. productId 商品id integer
     /// 4. word 关键词 string
     case commentGetproductall(Dictionary<String, Any>)

     // 点赞
     case commentLike

     // 乡村振兴-学习强国模块查询
     case countryGetcountrtybytype

     // 我的卡券列表
     /// 1. state 状态 0-已领取 1-已使用 2-已过期 integer
     case couponGetcouponlist(Int?)

     // 优惠券商品列表查询
     /// 1. activityId 活动id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopCouponId 店铺优惠券id integer
     case couponGetcouponproducts(Dictionary<String, Any>)

     // 我的卡券列表
     case couponGetcoupons

     // 结算页优惠券列表查询
     /// 1. params_0__products_0__price 商品售价 number
     /// 2. params_0__products_0__productId 商品id integer
     /// 3. params_0__shopId 店铺id integer
     case couponGetordercoupons(String?, Int?, Int?)

     // 领取优惠券
     case couponTakecoupon

     // 数据字典编辑查询
     /// 1. name name string
     case dictGetbyname(String?)

     // 限时折扣专区首页数据查询
     /// 1. classifyId 分类id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 搜索字段 string
     /// 5. shopDiscountId 限时折扣活动id integer
     /// 6. shopId 店铺id integer
     /// 7. type 价格排序条件 1-升序 2-降序 integer
     /// 8. volume 销量排序条件 1-升序 2-降序 integer
     case discountGetindex(Dictionary<String, Any>)

     // 申请分销员
     case distributorAdddistributor

     // bind
     case distributorBind

     // 验证当前客户是否为分销员
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case distributorCheck(Dictionary<String, Any>)

     // 累计客户查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     case distributorGetbuyers(Dictionary<String, Any>)

     // 账户信息查询
     case distributorGetdistributor

     // 分销中心列表查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case distributorGetdistributorall(Int?, Int?)

     // 分销订单查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     /// 5. type 佣金类型  1-直接佣金 2-间接佣金 integer
     case distributorGetdistributororder(Dictionary<String, Any>)

     // 累计分销员查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     /// 5. type 佣金类型  1-直接佣金 2-间接佣金 integer
     case distributorGetdistributors(Dictionary<String, Any>)

     // 推广商品查询
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case distributorGetextensionproduct(Dictionary<String, Any>)

     // 累计未结算奖励查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     /// 5. type 佣金类型  1-直接佣金 2-间接佣金 integer
     case distributorGetnotreward(Dictionary<String, Any>)

     // 累计奖励查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     /// 5. type 佣金类型  1-直接佣金 2-间接佣金 integer
     case distributorGetreward(Dictionary<String, Any>)

     // 店铺分销数据查询
     /// 1. distributorId 分销员id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. shopId 店铺id integer
     case distributorGetshopdistributor(Dictionary<String, Any>)

     // 店铺推广数据查询
     /// 1. distributorId 分销员id integer
     /// 2. shopId 店铺id integer
     /// 3. title 标题 string
     case distributorGetshopextension(Int?, Int?, String?)

     // 提现申请
     case distributorSave

     // 分享商品
     /// 1. distributorId 分销员id integer
     /// 2. shopId 店铺id integer
     /// 3. skuId 规格id integer
     case distributorShare(Int?, Int?, Int?)

     // 文件上传
     /// 1. file file file
     case fileUpload(Data?)

     // 删除足迹
     case footprintDelete

     // 我的足迹查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case footprintGetall(Int?, Int?)

     // 选中足迹
     case footprintSelected

     // 根据会员id查询会员信息
     /// 1. memberLevelId memberLevelId integer ❤️
     case memberGetmemberbymemberlevelid(Int)

     // 会员权益查询
     case memberGetmembershiplist

     // 查询签到明细
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case memberSelectsigninhistory(Int?, Int?)

     // 查询签到列表
     case memberSelectsigninrecordlist

     // 签到
     case memberSignin

     // 消息列表查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case noticeGetall(Int?, Int?)

     // 公告详情查询
     /// 1. noticeId 消息id integer
     case noticeGetbyid(Int?)

     // 公告消息列表查询
     case noticeGetgonggaoall

     // 全部已读
     case noticeReadall

     // 已读某个消息
     case noticeReadnotice

     // 删除消息
     case noticeRemovebyid

     // 添加评论
     case orderAddcomment

     // 追加评论
     case orderAddtocomment

     // alipayNotify
     case orderAlipayRolback

     // alipayRefundNotify
     case orderAlipayrefundRolback

     // 取消订单
     case orderCancel

     // 校验当前订单是否支付成功
     /// 1. collageId 拼单id integer
     /// 2. huabeiPeriod 花呗分期数 integer
     /// 3. money 支付金额 number
     /// 4. orderId 订单id integer
     /// 5. paymentMode 订单支付方式 1-微信 2-支付宝 integer
     /// 6. type 订单类型 1-父订单 2-子订单 integer
     case orderCheckpay(Dictionary<String, Any>)

     // 确认收货
     case orderConfirm

     // 删除订单
     case orderDelete

     // 订单管理查询
     /// 1. buyerUserId null integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 搜索字段 string
     /// 5. state 状态 null-全部 1-待付款 2-待发货 3-待收货 4-待评价 6-待成团 string
     case orderGetall(Dictionary<String, Any>)

     // 订单详情查询
     /// 1. noticeId 消息id integer
     /// 2. orderId 订单id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     case orderGetbyid(Dictionary<String, Any>)

     // 物流信息查询
     /// 1. deliverFormid 物流单号 string
     /// 2. express 物流公司 string
     case orderGetdilevery(String?, String?)

     // 选择物流公司查询
     case orderGetexpressselect

     // 查询花呗手续费配置
     case orderGethuabeiconfig

     // 查询支付有礼数据
     /// 1. address null string
     /// 2. afterState null integer
     /// 3. buyerUserId null integer
     /// 4. couponId null integer
     /// 5. createTime null string
     /// 6. customerName null string
     /// 7. customerPhone null string
     /// 8. directDistributorMoney null number
     /// 9. discountId null integer
     /// 10. discountPrice null number
     /// 11. distributorId null integer
     /// 12. id null integer
     /// 13. indirectDistributorMoney null number
     /// 14. logisticsId null integer
     /// 15. logisticsPrice null number
     /// 16. orderFormid null string
     /// 17. orderId null integer
     /// 18. orderPrice null number
     /// 19. parentId null integer
     /// 20. paymentMode null integer
     /// 21. paymentState null integer
     /// 22. paymentTime null string
     /// 23. politeId null integer
     /// 24. postalCode null string
     /// 25. price null number
     /// 26. receiveAdress null string
     /// 27. receiveName null string
     /// 28. receivePhone null string
     /// 29. receiveTime null string
     /// 30. remark null string
     /// 31. sceneId null integer
     /// 32. seckillId null integer
     /// 33. shopDiscountId null integer
     /// 34. shopGroupWorkId null integer
     /// 35. shopId null integer
     /// 36. shopOperateId null integer
     /// 37. shopSeckillId null integer
     /// 38. state null integer
     /// 39. updateTime null string
     case orderGetorderpolite(Dictionary<String, Any>)

     // 结算查询
     case orderGetsettlement

     // 根据订单id获取收款码
     /// 1. noticeId 消息id integer
     /// 2. orderId 订单id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     case orderGeturl(Dictionary<String, Any>)

     // APP立即支付
     case orderGotoapppay

     // H5立即支付
     case orderGotoh5pay

     // 小程序立即支付
     case orderGotopay

     // 支付业务处理接口
     case orderPay

     // aliPayRolBack
     case orderPayAlipayrolback

     // wxProPayNotify
     case orderPayRolback

     // 申请退款
     /// 1. noticeId 消息id integer
     /// 2. orderId 订单id integer
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     case orderRefund(Dictionary<String, Any>)

     // wxRefundNotify
     case orderRefundRolback

     // 填写退货物流单
     case orderReturnexpress

     // 提交订单
     case orderSubmit

     // 限时折扣专区首页数据查询
     /// 1. bondMoney null number
     /// 2. createTime null string
     /// 3. discount null number
     /// 4. discountId null integer
     /// 5. discountName null string
     /// 6. endTime null string
     /// 7. ifAdd null integer
     /// 8. ifBond null integer
     /// 9. ifLimit null integer
     /// 10. limitNumber null integer
     /// 11. remark null string
     /// 12. signEndTime null string
     /// 13. signStartTime null string
     /// 14. startTime null string
     /// 15. state null integer
     /// 16. updateTime null string
     case platform_discountQueryplatformdiscount(Dictionary<String, Any>)

     // 限时折扣专区首页商品数据查询
     case platform_discountQueryplatformdiscountproductlist

     // 根据场次时间查询商品列表
     case platform_seckillQueryproductlistbysession

     // 平台秒杀查询今日场次
     case platform_seckillQuerysession

     // 定价捆绑规则查询
     /// 1. number 任选几件 integer
     /// 2. price 捆绑价 number
     /// 3. priceId 定价捆绑id integer
     case priceSelectbypriceid(Int?, String?, Int?)

     // 根据店铺id查询定价捆绑规则
     /// 1. composeName null string
     /// 2. createTime null string
     /// 3. endTime null string
     /// 4. priceId null integer
     /// 5. shopId null integer
     /// 6. startTime null string
     /// 7. state null integer
     /// 8. updateTime null string
     case priceSelectbyshopid(Dictionary<String, Any>)

     // 删除搜索记录
     case productDeleteallsearch

     // 商品详情查询
     /// 1. city 所在地区 string
     /// 2. platformDiscountId 平台限时折扣活动id integer
     /// 3. platformSeckillId 秒杀活动id integer
     /// 4. productId 商品id integer
     /// 5. shopDiscountId 限时折扣活动id integer
     /// 6. shopGroupWorkId 拼团活动id integer
     /// 7. shopId 店铺id integer
     /// 8. shopSeckillId 秒杀活动id integer
     /// 9. skuId 规格id integer
     /// 10. system 操作系统 1-Android 2-IOS integer
     /// 11. terminal 访问终端 1-APP 2-微信小程序 3-H5 4-支付宝小程序 integer
     case productGetbyid(Dictionary<String, Any>)

     // 选择商品查询
     /// 1. productId 商品id integer
     /// 2. skuId 规格id integer
     case productGetproducts(Int?, Int?)

     // 查询随机排序的商品
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. timestamp 时间戳 integer
     case productGetrandomsortproduct(Int?, Int?, Int?)

     // 获取分享图片
     /// 1. city 所在地区 string
     /// 2. platformDiscountId 平台限时折扣活动id integer
     /// 3. platformSeckillId 秒杀活动id integer
     /// 4. productId 商品id integer
     /// 5. shopDiscountId 限时折扣活动id integer
     /// 6. shopGroupWorkId 拼团活动id integer
     /// 7. shopId 店铺id integer
     /// 8. shopSeckillId 秒杀活动id integer
     /// 9. skuId 规格id integer
     /// 10. system 操作系统 1-Android 2-IOS integer
     /// 11. terminal 访问终端 1-APP 2-微信小程序 3-H5 4-支付宝小程序 integer
     case productGetsharepic(Dictionary<String, Any>)

     // 查询组合套餐
     /// 1. city 所在地区 string
     /// 2. platformDiscountId 平台限时折扣活动id integer
     /// 3. platformSeckillId 秒杀活动id integer
     /// 4. productId 商品id integer
     /// 5. shopDiscountId 限时折扣活动id integer
     /// 6. shopGroupWorkId 拼团活动id integer
     /// 7. shopId 店铺id integer
     /// 8. shopSeckillId 秒杀活动id integer
     /// 9. skuId 规格id integer
     /// 10. system 操作系统 1-Android 2-IOS integer
     /// 11. terminal 访问终端 1-APP 2-微信小程序 3-H5 4-支付宝小程序 integer
     case productSelectcompose(Dictionary<String, Any>)

     // 查询定价捆绑套餐
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. priceId null integer
     case productSelectproductlistbypriceid(Int?, Int?, Int?)

     // 删除收货地址
     case receiveDelete

     // 收货地址列表查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case receiveGetall(Int?, Int?)

     // 修改收货地址查询
     /// 1. receiveId 收货地址id integer
     case receiveGetbyid(Int?)

     // 选择收货地址查询
     case receiveGetselect

     // 添加收货地址
     case receiveSave

     // 修改收货地址
     case receiveUpdate

     // 选择限时折扣活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     case renovationGetdiscounts(Array<Int>?, Int?)

     // 选择拼团活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     case renovationGetgroupworks(Array<Int>?, Int?)

     // 画布选择定价捆绑商品数据
     /// 1. classifyId 分类id integer
     /// 2. ids 商品id数组 array
     /// 3. page 当前页 integer
     /// 4. pageSize 每页记录数 integer
     /// 5. search 搜索字段 string
     /// 6. shelveState 是否上架 1-上架 0-不上架 string
     /// 7. shopId 店铺id integer
     case renovationGetpriceproducts(Dictionary<String, Any>)

     // 选择秒杀活动查询
     /// 1. ids 活动id数组 array
     /// 2. shopId 店铺id integer
     case renovationGetseckills(Array<Int>?, Int?)

     // 回答
     case seckillAddanswer

     // 提问
     case seckillAddproblem

     // 批量删除回答
     case seckillDeleteanswer

     // 批量删除提问
     case seckillDeleteproblem

     // 我的回答查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case seckillGetanswer(Int?, Int?)

     // 秒杀专区首页数据查询
     /// 1. classifyId 分类id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 搜索字段 string
     /// 5. shopId 店铺id integer
     /// 6. shopSeckillId 秒杀活动id integer
     /// 7. type 价格排序条件 1-升序 2-降序 integer
     /// 8. volume 销量排序条件 1-升序 2-降序 integer
     case seckillGetindex(Dictionary<String, Any>)

     // 我的提问查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case seckillGetproblem(Int?, Int?)

     // 问答详情查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. problemId 提问id integer
     /// 4. productId 商品id integer
     case seckillGetproblemdetail(Dictionary<String, Any>)

     // 商品问答数据查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     /// 3. problemId 提问id integer
     /// 4. productId 商品id integer
     case seckillGetproblems(Dictionary<String, Any>)

     // 选中回答
     case seckillSelectedanswer

     // 选中提问
     case seckillSelectedproblem

     // 添加客户访问商家的记录
     case shopAddbusinessbuyeruser

     // 店铺首页查询
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case shopGetindex(Dictionary<String, Any>)

     // 获取分享图片
     /// 1. distributorId 分销员id integer
     /// 2. shopId 店铺id integer
     /// 3. terminal 访问终端 1-APP 2-微信小程序 3-H5 4-支付宝小程序 integer
     /// 4. type 推广类型 1-推广店铺 2-邀请下级 integer
     case shopGetsharepic(Dictionary<String, Any>)

     // 查询店铺banner
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case shopGetshopbanner(Dictionary<String, Any>)

     // 查询店铺分类
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case shopGetshopclassify(Dictionary<String, Any>)

     // 商品搜索查询
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case shopGetshopproducts(Dictionary<String, Any>)

     // 店铺搜索
     /// 1. classifyId 分类id integer
     /// 2. groupId 分组id integer
     /// 3. ifNew null integer
     /// 4. maxMoney 最大价格 number
     /// 5. minMoney 最小价格 number
     /// 6. page 当前页 integer
     /// 7. pageSize 每页记录数 integer
     /// 8. search 搜索字段 string
     /// 9. shopId 店铺id integer
     /// 10. type 价格排序条件 1-升序 2-降序 integer
     /// 11. volume 销量排序条件 1-升序 2-降序 integer
     case shopGetshops(Dictionary<String, Any>)

     // 身份验证
     /// 1. newPassword 新密码 string
     /// 2. password 密码 string
     /// 3. phone 手机号 string
     /// 4. verificationCode 验证码 string
     case userCheckuser(Dictionary<String, Any>)

     // 我的回答数据查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case userGetselfanswers(Int?, Int?)

     // 我的提问数据查询
     /// 1. page 当前页 integer
     /// 2. pageSize 每页记录数 integer
     case userGetselfproblems(Int?, Int?)

     // 个人系信息查询
     case userGetuser

     // 解除绑定手机号
     case userRelievephone

     // 修改个人信息
     case userUpdate

     // 修改密码
     case userUpdatepassword

     // 更换绑定手机号
     case userUpdatephone

     // 拼团专区首页数据查询
     /// 1. classifyId 分类id integer
     /// 2. page 当前页 integer
     /// 3. pageSize 每页记录数 integer
     /// 4. search 搜索字段 string
     /// 5. shopGroupWorkId 拼团活动id integer
     /// 6. shopId 店铺id integer
     /// 7. type 价格排序条件 1-升序 2-降序 integer
     /// 8. volume 销量排序条件 1-升序 2-降序 integer
     case workGetindex(Dictionary<String, Any>)

     // 邀请好友拼单查询
     case workGetinvite

     // 拼团单结算查询
     case workGetsettlement

     // 获取二维码和小程序码
     /// 1. collageId 拼单id integer
     /// 2. orderId 订单id integer
     /// 3. productId 商品id integer
     /// 4. skuId 规格id integer
     /// 5. type 类型 integer
     case workGetshare(Dictionary<String, Any>)

}
    

extension BuyChatShopApi: TargetType {
    
    public var method: Moya.Method {
        if ["after/getAll", "after/getById", "after/getReasonSelect", "app/check", "app/getCode", "app/getHistory", "app/getSearchProducts", "app/getSelect", "app/index", "app/selectHotSearch", "app/stock", "bank/getAll", "bank/getById", "bank/getSelect", "canvas/getCanvas", "canvas/getClassify", "canvas/getCoupons", "canvas/getGroupWorks", "canvas/getMemberProducts", "canvas/getMinDiscount", "canvas/getNotices", "canvas/getPlatformSeckills", "canvas/getPrices", "canvas/getProducts", "canvas/getShopCoupons", "cart/clearInvalidSku", "cart/getCart", "check/getById", "classify/getClaasifyProducts", "classify/getFirstClassify", "collect/getAllProduct", "collect/getAllShop", "comment/getAll", "comment/getById", "comment/getCommentList", "comment/getProductAll", "coupon/getCouponList", "coupon/getCouponProducts", "coupon/getCoupons", "coupon/getOrderCoupons", "dict/getByName", "discount/getIndex", "distributor/check", "distributor/getBuyers", "distributor/getDistributor", "distributor/getDistributorAll", "distributor/getDistributorOrder", "distributor/getDistributors", "distributor/getExtensionProduct", "distributor/getNotReward", "distributor/getReward", "distributor/getShopDistributor", "distributor/getShopExtension", "distributor/share", "footprint/getAll", "member/getMemberByMemberLevelId/", "member/getMemberShipList", "member/selectSigninHistory", "member/selectSigninRecordList", "notice/getAll", "notice/getById", "notice/getGongGaoAll", "order/checkPay", "order/getAll", "order/getById", "order/getDilevery", "order/getExpressSelect", "order/getHuabeiConfig", "order/getOrderPolite", "order/getUrl", "order/refund", "platform-discount/queryPlatformDiscount", "platform-seckill/querySession", "price/selectByPriceId", "price/selectByShopId", "product/getById", "product/getProducts", "product/getRandomSortProduct", "product/getSharePic", "product/selectCompose", "product/selectProductListByPriceId", "receive/getAll", "receive/getById", "receive/getSelect", "renovation/getDiscounts", "renovation/getGroupWorks", "renovation/getPriceProducts", "renovation/getSeckills", "seckill/getAnswer", "seckill/getIndex", "seckill/getProblem", "seckill/getProblemDetail", "seckill/getProblems", "shop/getIndex", "shop/getSharePic", "shop/getShopBanner", "shop/getShopClassify", "shop/getShopProducts", "shop/getShops", "user/checkUser", "user/getSelfAnswers", "user/getSelfProblems", "user/getUser", "work/getIndex", "work/getShare"].contains(self.path) {
            return .get
        }
        return .post
    }
    
    public var sampleData: Data {
        return "{}".data(using: String.Encoding.utf8)!
    }
    
    public var task: Task {
        var params: [String:Any] = [:]
        var formData: [MultipartFormData] = []
        switch self {
            case .afterGetall(let page, let pageSize, let state):
            params["page"] = page
            params["pageSize"] = pageSize
            params["state"] = state
            break
        case .afterGetbyid(let afterId, let orderId):
            params["afterId"] = afterId
            params["orderId"] = orderId
            break
        case .afterGetreasonselect:
            break
        case .afterPlatform:
            break
        case .afterReturngoods:
            break
        case .afterReturnrefund:
            break
        case .afterSubmit:
            break
        case .appAlipaylogin:
            break
        case .appCheck(let code, let shopPhone):
            params["code"] = code
            params["shopPhone"] = shopPhone
            break
        case .appDeletesearch:
            break
        case .appGetcode(let phone):
            params["phone"] = phone
            break
        case .appGethistory:
            break
        case .appGetsearchproducts(let param):
            params = params.add(param)
            break
        case .appGetselect(let dictName):
            params["dictName"] = dictName
            break
        case .appGetsessionkey:
            break
        case .appIndex(let activityId):
            params["activityId"] = activityId
            break
        case .appLogin:
            break
        case .appRefreshtoken:
            break
        case .appRegister:
            break
        case .appSelecthotsearch:
            break
        case .appSetwxphone:
            break
        case .appStock:
            break
        case .appUpdatealiphone:
            break
        case .appUpdatewxphone:
            break
        case .appWxapplogin:
            break
        case .appWxlogin:
            break
        case .bankDelete:
            break
        case .bankGetall(let param):
            params = params.add(param)
            break
        case .bankGetbyid(let param):
            params = params.add(param)
            break
        case .bankGetselect:
            break
        case .bankSave:
            break
        case .bankUpdate:
            break
        case .canvasGetcanvas(let param):
            params = params.add(param)
            break
        case .canvasGetclassify:
            break
        case .canvasGetcoupons(let param):
            params = params.add(param)
            break
        case .canvasGetgroupworks(let ids, let shopId, let stateList):
            params["shopId"] = shopId
            params["ids"] = ids
            params["stateList"] = stateList
            break
        case .canvasGetmemberproducts(let param):
            params = params.add(param)
            break
        case .canvasGetmindiscount(let ids, let shopId, let stateList):
            params["shopId"] = shopId
            params["ids"] = ids
            params["stateList"] = stateList
            break
        case .canvasGetnotices:
            break
        case .canvasGetplatformseckills(let ids, let shopId, let stateList):
            params["shopId"] = shopId
            params["ids"] = ids
            params["stateList"] = stateList
            break
        case .canvasGetprices(let ids, let shopId, let stateList):
            params["shopId"] = shopId
            params["ids"] = ids
            params["stateList"] = stateList
            break
        case .canvasGetproducts(let param):
            params = params.add(param)
            break
        case .canvasGetshopcoupons(let param):
            params = params.add(param)
            break
        case .cartAddbatchcart:
            break
        case .cartAddcart:
            break
        case .cartBuyagain:
            break
        case .cartClearinvalidsku:
            break
        case .cartDelete:
            break
        case .cartDeleteall:
            break
        case .cartGetcart:
            break
        case .cartSelected:
            break
        case .cartUpdatenumber:
            break
        case .cartUpdatesku:
            break
        case .checkEnterprisecheck:
            break
        case .checkGetbyid(let param):
            params = params.add(param)
            break
        case .checkIndividualcheck:
            break
        case .checkOrganizationscheck:
            break
        case .checkPersonalcheck:
            break
        case .checkUpdateenterprisecheck:
            break
        case .checkUpdateindividualcheck:
            break
        case .checkUpdateorganizationscheck:
            break
        case .checkUpdatepersonalcheck:
            break
        case .classifyGetclaasifyproducts(let param):
            params = params.add(param)
            break
        case .classifyGetfirstclassify(let classifyId):
            params["classifyId"] = classifyId
            break
        case .collectCancel:
            break
        case .collectCollect:
            break
        case .collectDelete:
            break
        case .collectGetallproduct(let page, let pageSize, let search):
            params["page"] = page
            params["pageSize"] = pageSize
            params["search"] = search
            break
        case .collectGetallshop(let page, let pageSize, let search):
            params["page"] = page
            params["pageSize"] = pageSize
            params["search"] = search
            break
        case .collectSelected:
            break
        case .commentGetall(let param):
            params = params.add(param)
            break
        case .commentGetbyid(let commentId):
            params["commentId"] = commentId
            break
        case .commentGetcommentlist(let param):
            params = params.add(param)
            break
        case .commentGetproductall(let param):
            params = params.add(param)
            break
        case .commentLike:
            break
        case .countryGetcountrtybytype:
            break
        case .couponGetcouponlist(let state):
            params["state"] = state
            break
        case .couponGetcouponproducts(let param):
            params = params.add(param)
            break
        case .couponGetcoupons:
            break
        case .couponGetordercoupons(let params_0__products_0__price, let params_0__products_0__productId, let params_0__shopId):
            params["params_0__products_0__price"] = params_0__products_0__price
            params["params_0__products_0__productId"] = params_0__products_0__productId
            params["params_0__shopId"] = params_0__shopId
            break
        case .couponTakecoupon:
            break
        case .dictGetbyname(let name):
            params["name"] = name
            break
        case .discountGetindex(let param):
            params = params.add(param)
            break
        case .distributorAdddistributor:
            break
        case .distributorBind:
            break
        case .distributorCheck(let param):
            params = params.add(param)
            break
        case .distributorGetbuyers(let param):
            params = params.add(param)
            break
        case .distributorGetdistributor:
            break
        case .distributorGetdistributorall(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .distributorGetdistributororder(let param):
            params = params.add(param)
            break
        case .distributorGetdistributors(let param):
            params = params.add(param)
            break
        case .distributorGetextensionproduct(let param):
            params = params.add(param)
            break
        case .distributorGetnotreward(let param):
            params = params.add(param)
            break
        case .distributorGetreward(let param):
            params = params.add(param)
            break
        case .distributorGetshopdistributor(let param):
            params = params.add(param)
            break
        case .distributorGetshopextension(let distributorId, let shopId, let title):
            params["distributorId"] = distributorId
            params["shopId"] = shopId
            params["title"] = title
            break
        case .distributorSave:
            break
        case .distributorShare(let distributorId, let shopId, let skuId):
            params["distributorId"] = distributorId
            params["shopId"] = shopId
            params["skuId"] = skuId
            break
        case .fileUpload(let file):
            if let data = file {
                formData.append(MultipartFormData.init(provider: .data(data), name: "file", fileName: nil, mimeType: nil))
            }
            break
        case .footprintDelete:
            break
        case .footprintGetall(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .footprintSelected:
            break
        case .memberGetmemberbymemberlevelid(let memberLevelId):
            params["memberLevelId"] = memberLevelId
            break
        case .memberGetmembershiplist:
            break
        case .memberSelectsigninhistory(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .memberSelectsigninrecordlist:
            break
        case .memberSignin:
            break
        case .noticeGetall(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .noticeGetbyid(let noticeId):
            params["noticeId"] = noticeId
            break
        case .noticeGetgonggaoall:
            break
        case .noticeReadall:
            break
        case .noticeReadnotice:
            break
        case .noticeRemovebyid:
            break
        case .orderAddcomment:
            break
        case .orderAddtocomment:
            break
        case .orderAlipayRolback:
            break
        case .orderAlipayrefundRolback:
            break
        case .orderCancel:
            break
        case .orderCheckpay(let param):
            params = params.add(param)
            break
        case .orderConfirm:
            break
        case .orderDelete:
            break
        case .orderGetall(let param):
            params = params.add(param)
            break
        case .orderGetbyid(let param):
            params = params.add(param)
            break
        case .orderGetdilevery(let deliverFormid, let express):
            params["deliverFormid"] = deliverFormid
            params["express"] = express
            break
        case .orderGetexpressselect:
            break
        case .orderGethuabeiconfig:
            break
        case .orderGetorderpolite(let param):
            params = params.add(param)
            break
        case .orderGetsettlement:
            break
        case .orderGeturl(let param):
            params = params.add(param)
            break
        case .orderGotoapppay:
            break
        case .orderGotoh5pay:
            break
        case .orderGotopay:
            break
        case .orderPay:
            break
        case .orderPayAlipayrolback:
            break
        case .orderPayRolback:
            break
        case .orderRefund(let param):
            params = params.add(param)
            break
        case .orderRefundRolback:
            break
        case .orderReturnexpress:
            break
        case .orderSubmit:
            break
        case .platform_discountQueryplatformdiscount(let param):
            params = params.add(param)
            break
        case .platform_discountQueryplatformdiscountproductlist:
            break
        case .platform_seckillQueryproductlistbysession:
            break
        case .platform_seckillQuerysession:
            break
        case .priceSelectbypriceid(let number, let price, let priceId):
            params["number"] = number
            params["price"] = price
            params["priceId"] = priceId
            break
        case .priceSelectbyshopid(let param):
            params = params.add(param)
            break
        case .productDeleteallsearch:
            break
        case .productGetbyid(let param):
            params = params.add(param)
            break
        case .productGetproducts(let productId, let skuId):
            params["productId"] = productId
            params["skuId"] = skuId
            break
        case .productGetrandomsortproduct(let page, let pageSize, let timestamp):
            params["page"] = page
            params["pageSize"] = pageSize
            params["timestamp"] = timestamp
            break
        case .productGetsharepic(let param):
            params = params.add(param)
            break
        case .productSelectcompose(let param):
            params = params.add(param)
            break
        case .productSelectproductlistbypriceid(let page, let pageSize, let priceId):
            params["page"] = page
            params["pageSize"] = pageSize
            params["priceId"] = priceId
            break
        case .receiveDelete:
            break
        case .receiveGetall(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .receiveGetbyid(let receiveId):
            params["receiveId"] = receiveId
            break
        case .receiveGetselect:
            break
        case .receiveSave:
            break
        case .receiveUpdate:
            break
        case .renovationGetdiscounts(let ids, let shopId):
            params["shopId"] = shopId
            params["ids"] = ids
            break
        case .renovationGetgroupworks(let ids, let shopId):
            params["shopId"] = shopId
            params["ids"] = ids
            break
        case .renovationGetpriceproducts(let param):
            params = params.add(param)
            break
        case .renovationGetseckills(let ids, let shopId):
            params["shopId"] = shopId
            params["ids"] = ids
            break
        case .seckillAddanswer:
            break
        case .seckillAddproblem:
            break
        case .seckillDeleteanswer:
            break
        case .seckillDeleteproblem:
            break
        case .seckillGetanswer(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .seckillGetindex(let param):
            params = params.add(param)
            break
        case .seckillGetproblem(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .seckillGetproblemdetail(let param):
            params = params.add(param)
            break
        case .seckillGetproblems(let param):
            params = params.add(param)
            break
        case .seckillSelectedanswer:
            break
        case .seckillSelectedproblem:
            break
        case .shopAddbusinessbuyeruser:
            break
        case .shopGetindex(let param):
            params = params.add(param)
            break
        case .shopGetsharepic(let param):
            params = params.add(param)
            break
        case .shopGetshopbanner(let param):
            params = params.add(param)
            break
        case .shopGetshopclassify(let param):
            params = params.add(param)
            break
        case .shopGetshopproducts(let param):
            params = params.add(param)
            break
        case .shopGetshops(let param):
            params = params.add(param)
            break
        case .userCheckuser(let param):
            params = params.add(param)
            break
        case .userGetselfanswers(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .userGetselfproblems(let page, let pageSize):
            params["page"] = page
            params["pageSize"] = pageSize
            break
        case .userGetuser:
            break
        case .userRelievephone:
            break
        case .userUpdate:
            break
        case .userUpdatepassword:
            break
        case .userUpdatephone:
            break
        case .workGetindex(let param):
            params = params.add(param)
            break
        case .workGetinvite:
            break
        case .workGetsettlement:
            break
        case .workGetshare(let param):
            params = params.add(param)
            break
        
        }
        if ["file/upload"].contains(self.path) {
            return .uploadCompositeMultipart(formData, urlParameters: params)
        }
        return .requestParameters(parameters: params,
                                  encoding: URLEncoding.default)
    }
    
    public var headers: [String : String]? {
        if ["file/upload"].contains(self.path) {
            return ["Content-type" : "multipart/form-data"]
        }
        return ["Content-type" : "application/json"]
    }
        
    public var baseURL: URL {
        return URL(string: "https://api2.lbsjdspt.cn/clientapi/")!
    }
    
    public var path: String {
        switch self {
            
          case .afterGetall:
            return "after/getAll"
        
          case .afterGetbyid:
            return "after/getById"
        
          case .afterGetreasonselect:
            return "after/getReasonSelect"
        
          case .afterPlatform:
            return "after/platform"
        
          case .afterReturngoods:
            return "after/returnGoods"
        
          case .afterReturnrefund:
            return "after/returnRefund"
        
          case .afterSubmit:
            return "after/submit"
        
          case .appAlipaylogin:
            return "app/alipayLogin"
        
          case .appCheck:
            return "app/check"
        
          case .appDeletesearch:
            return "app/deleteSearch"
        
          case .appGetcode:
            return "app/getCode"
        
          case .appGethistory:
            return "app/getHistory"
        
          case .appGetsearchproducts:
            return "app/getSearchProducts"
        
          case .appGetselect:
            return "app/getSelect"
        
          case .appGetsessionkey:
            return "app/getSessionKey"
        
          case .appIndex:
            return "app/index"
        
          case .appLogin:
            return "app/login"
        
          case .appRefreshtoken:
            return "app/refreshToken"
        
          case .appRegister:
            return "app/register"
        
          case .appSelecthotsearch:
            return "app/selectHotSearch"
        
          case .appSetwxphone:
            return "app/setWxPhone"
        
          case .appStock:
            return "app/stock"
        
          case .appUpdatealiphone:
            return "app/updateAliPhone"
        
          case .appUpdatewxphone:
            return "app/updateWxPhone"
        
          case .appWxapplogin:
            return "app/wxAppLogin"
        
          case .appWxlogin:
            return "app/wxLogin"
        
          case .bankDelete:
            return "bank/delete"
        
          case .bankGetall:
            return "bank/getAll"
        
          case .bankGetbyid:
            return "bank/getById"
        
          case .bankGetselect:
            return "bank/getSelect"
        
          case .bankSave:
            return "bank/save"
        
          case .bankUpdate:
            return "bank/update"
        
          case .canvasGetcanvas:
            return "canvas/getCanvas"
        
          case .canvasGetclassify:
            return "canvas/getClassify"
        
          case .canvasGetcoupons:
            return "canvas/getCoupons"
        
          case .canvasGetgroupworks:
            return "canvas/getGroupWorks"
        
          case .canvasGetmemberproducts:
            return "canvas/getMemberProducts"
        
          case .canvasGetmindiscount:
            return "canvas/getMinDiscount"
        
          case .canvasGetnotices:
            return "canvas/getNotices"
        
          case .canvasGetplatformseckills:
            return "canvas/getPlatformSeckills"
        
          case .canvasGetprices:
            return "canvas/getPrices"
        
          case .canvasGetproducts:
            return "canvas/getProducts"
        
          case .canvasGetshopcoupons:
            return "canvas/getShopCoupons"
        
          case .cartAddbatchcart:
            return "cart/addBatchCart"
        
          case .cartAddcart:
            return "cart/addCart"
        
          case .cartBuyagain:
            return "cart/buyAgain"
        
          case .cartClearinvalidsku:
            return "cart/clearInvalidSku"
        
          case .cartDelete:
            return "cart/delete"
        
          case .cartDeleteall:
            return "cart/deleteAll"
        
          case .cartGetcart:
            return "cart/getCart"
        
          case .cartSelected:
            return "cart/selected"
        
          case .cartUpdatenumber:
            return "cart/updateNumber"
        
          case .cartUpdatesku:
            return "cart/updateSku"
        
          case .checkEnterprisecheck:
            return "check/enterpriseCheck"
        
          case .checkGetbyid:
            return "check/getById"
        
          case .checkIndividualcheck:
            return "check/individualCheck"
        
          case .checkOrganizationscheck:
            return "check/organizationsCheck"
        
          case .checkPersonalcheck:
            return "check/personalCheck"
        
          case .checkUpdateenterprisecheck:
            return "check/updateEnterpriseCheck"
        
          case .checkUpdateindividualcheck:
            return "check/updateIndividualCheck"
        
          case .checkUpdateorganizationscheck:
            return "check/updateOrganizationsCheck"
        
          case .checkUpdatepersonalcheck:
            return "check/updatePersonalCheck"
        
          case .classifyGetclaasifyproducts:
            return "classify/getClaasifyProducts"
        
          case .classifyGetfirstclassify:
            return "classify/getFirstClassify"
        
          case .collectCancel:
            return "collect/cancel"
        
          case .collectCollect:
            return "collect/collect"
        
          case .collectDelete:
            return "collect/delete"
        
          case .collectGetallproduct:
            return "collect/getAllProduct"
        
          case .collectGetallshop:
            return "collect/getAllShop"
        
          case .collectSelected:
            return "collect/selected"
        
          case .commentGetall:
            return "comment/getAll"
        
          case .commentGetbyid:
            return "comment/getById"
        
          case .commentGetcommentlist:
            return "comment/getCommentList"
        
          case .commentGetproductall:
            return "comment/getProductAll"
        
          case .commentLike:
            return "comment/like"
        
          case .countryGetcountrtybytype:
            return "country/getCountrtyByType"
        
          case .couponGetcouponlist:
            return "coupon/getCouponList"
        
          case .couponGetcouponproducts:
            return "coupon/getCouponProducts"
        
          case .couponGetcoupons:
            return "coupon/getCoupons"
        
          case .couponGetordercoupons:
            return "coupon/getOrderCoupons"
        
          case .couponTakecoupon:
            return "coupon/takeCoupon"
        
          case .dictGetbyname:
            return "dict/getByName"
        
          case .discountGetindex:
            return "discount/getIndex"
        
          case .distributorAdddistributor:
            return "distributor/addDistributor"
        
          case .distributorBind:
            return "distributor/bind"
        
          case .distributorCheck:
            return "distributor/check"
        
          case .distributorGetbuyers:
            return "distributor/getBuyers"
        
          case .distributorGetdistributor:
            return "distributor/getDistributor"
        
          case .distributorGetdistributorall:
            return "distributor/getDistributorAll"
        
          case .distributorGetdistributororder:
            return "distributor/getDistributorOrder"
        
          case .distributorGetdistributors:
            return "distributor/getDistributors"
        
          case .distributorGetextensionproduct:
            return "distributor/getExtensionProduct"
        
          case .distributorGetnotreward:
            return "distributor/getNotReward"
        
          case .distributorGetreward:
            return "distributor/getReward"
        
          case .distributorGetshopdistributor:
            return "distributor/getShopDistributor"
        
          case .distributorGetshopextension:
            return "distributor/getShopExtension"
        
          case .distributorSave:
            return "distributor/save"
        
          case .distributorShare:
            return "distributor/share"
        
          case .fileUpload:
            return "file/upload"
        
          case .footprintDelete:
            return "footprint/delete"
        
          case .footprintGetall:
            return "footprint/getAll"
        
          case .footprintSelected:
            return "footprint/selected"
        
          case .memberGetmemberbymemberlevelid:
            return "member/getMemberByMemberLevelId/"
        
          case .memberGetmembershiplist:
            return "member/getMemberShipList"
        
          case .memberSelectsigninhistory:
            return "member/selectSigninHistory"
        
          case .memberSelectsigninrecordlist:
            return "member/selectSigninRecordList"
        
          case .memberSignin:
            return "member/signIn"
        
          case .noticeGetall:
            return "notice/getAll"
        
          case .noticeGetbyid:
            return "notice/getById"
        
          case .noticeGetgonggaoall:
            return "notice/getGongGaoAll"
        
          case .noticeReadall:
            return "notice/readAll"
        
          case .noticeReadnotice:
            return "notice/readNotice"
        
          case .noticeRemovebyid:
            return "notice/removeById"
        
          case .orderAddcomment:
            return "order/addComment"
        
          case .orderAddtocomment:
            return "order/addToComment"
        
          case .orderAlipayRolback:
            return "order/alipay/rolBack"
        
          case .orderAlipayrefundRolback:
            return "order/alipayRefund/rolBack"
        
          case .orderCancel:
            return "order/cancel"
        
          case .orderCheckpay:
            return "order/checkPay"
        
          case .orderConfirm:
            return "order/confirm"
        
          case .orderDelete:
            return "order/delete"
        
          case .orderGetall:
            return "order/getAll"
        
          case .orderGetbyid:
            return "order/getById"
        
          case .orderGetdilevery:
            return "order/getDilevery"
        
          case .orderGetexpressselect:
            return "order/getExpressSelect"
        
          case .orderGethuabeiconfig:
            return "order/getHuabeiConfig"
        
          case .orderGetorderpolite:
            return "order/getOrderPolite"
        
          case .orderGetsettlement:
            return "order/getSettlement"
        
          case .orderGeturl:
            return "order/getUrl"
        
          case .orderGotoapppay:
            return "order/gotoAppPay"
        
          case .orderGotoh5pay:
            return "order/gotoH5Pay"
        
          case .orderGotopay:
            return "order/gotoPay"
        
          case .orderPay:
            return "order/pay"
        
          case .orderPayAlipayrolback:
            return "order/pay/aliPayRolBack"
        
          case .orderPayRolback:
            return "order/pay/rolBack"
        
          case .orderRefund:
            return "order/refund"
        
          case .orderRefundRolback:
            return "order/refund/rolBack"
        
          case .orderReturnexpress:
            return "order/returnExpress"
        
          case .orderSubmit:
            return "order/submit"
        
          case .platform_discountQueryplatformdiscount:
            return "platform-discount/queryPlatformDiscount"
        
          case .platform_discountQueryplatformdiscountproductlist:
            return "platform-discount/queryPlatformDiscountProductList"
        
          case .platform_seckillQueryproductlistbysession:
            return "platform-seckill/queryProductListBySession"
        
          case .platform_seckillQuerysession:
            return "platform-seckill/querySession"
        
          case .priceSelectbypriceid:
            return "price/selectByPriceId"
        
          case .priceSelectbyshopid:
            return "price/selectByShopId"
        
          case .productDeleteallsearch:
            return "product/deleteAllSearch"
        
          case .productGetbyid:
            return "product/getById"
        
          case .productGetproducts:
            return "product/getProducts"
        
          case .productGetrandomsortproduct:
            return "product/getRandomSortProduct"
        
          case .productGetsharepic:
            return "product/getSharePic"
        
          case .productSelectcompose:
            return "product/selectCompose"
        
          case .productSelectproductlistbypriceid:
            return "product/selectProductListByPriceId"
        
          case .receiveDelete:
            return "receive/delete"
        
          case .receiveGetall:
            return "receive/getAll"
        
          case .receiveGetbyid:
            return "receive/getById"
        
          case .receiveGetselect:
            return "receive/getSelect"
        
          case .receiveSave:
            return "receive/save"
        
          case .receiveUpdate:
            return "receive/update"
        
          case .renovationGetdiscounts:
            return "renovation/getDiscounts"
        
          case .renovationGetgroupworks:
            return "renovation/getGroupWorks"
        
          case .renovationGetpriceproducts:
            return "renovation/getPriceProducts"
        
          case .renovationGetseckills:
            return "renovation/getSeckills"
        
          case .seckillAddanswer:
            return "seckill/addAnswer"
        
          case .seckillAddproblem:
            return "seckill/addProblem"
        
          case .seckillDeleteanswer:
            return "seckill/deleteAnswer"
        
          case .seckillDeleteproblem:
            return "seckill/deleteProblem"
        
          case .seckillGetanswer:
            return "seckill/getAnswer"
        
          case .seckillGetindex:
            return "seckill/getIndex"
        
          case .seckillGetproblem:
            return "seckill/getProblem"
        
          case .seckillGetproblemdetail:
            return "seckill/getProblemDetail"
        
          case .seckillGetproblems:
            return "seckill/getProblems"
        
          case .seckillSelectedanswer:
            return "seckill/selectedAnswer"
        
          case .seckillSelectedproblem:
            return "seckill/selectedProblem"
        
          case .shopAddbusinessbuyeruser:
            return "shop/addBusinessBuyerUser"
        
          case .shopGetindex:
            return "shop/getIndex"
        
          case .shopGetsharepic:
            return "shop/getSharePic"
        
          case .shopGetshopbanner:
            return "shop/getShopBanner"
        
          case .shopGetshopclassify:
            return "shop/getShopClassify"
        
          case .shopGetshopproducts:
            return "shop/getShopProducts"
        
          case .shopGetshops:
            return "shop/getShops"
        
          case .userCheckuser:
            return "user/checkUser"
        
          case .userGetselfanswers:
            return "user/getSelfAnswers"
        
          case .userGetselfproblems:
            return "user/getSelfProblems"
        
          case .userGetuser:
            return "user/getUser"
        
          case .userRelievephone:
            return "user/relievePhone"
        
          case .userUpdate:
            return "user/update"
        
          case .userUpdatepassword:
            return "user/updatePassword"
        
          case .userUpdatephone:
            return "user/updatePhone"
        
          case .workGetindex:
            return "work/getIndex"
        
          case .workGetinvite:
            return "work/getInvite"
        
          case .workGetsettlement:
            return "work/getSettlement"
        
          case .workGetshare:
            return "work/getShare"
        }
    }
        
}
